EasyRSA-Upgrade-Notes v3.08 中文译本
Table of Contents
1. 译者总注
1.1. 关于此译本
李守中是开源软件理念坚定的支持者,所以译本虽不是软件,但依旧仿照开源软件的协议发布:
- 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失。
- 自由使用:任何人都可以自由地 阅读/链接/打印 此文档,无需任何附加条件。
- 名誉权:任何人都可以自由地 转载/引用/再创作 此文档,但必须保留作者署名并注明出处。
如果读者发现作品中有错误的地方,劳请来信指出。任何提高作品质量的建议李守中都将虚心接纳。
1.2. 原文档来源
下载 Easy-RSA v3.08 Release 压缩包,解压后在 doc 目录下即可获取全部项目文档。
根据 EasyRSA v3.08 EasyRSA-Readme 文档翻译而来。
1.3. 译者的话
李守中在翻译 EasyRSA v3 系列文档的过程中发现,很多句子对于程序行为的描述有些模糊。
所以,李守中将不加提示地根据软件行为意译原文档中多数的句子;对于意译困难的句子,李守中会加入以 译者注 为开始标记的文本来帮助读者理解;对于意译之后依旧无法准确描述目标行为的句子,李守中将不加提示地扩充文档的内容。
有能力的读者可以从此链接 easyrsa_v3.08_doc__EasyRSA_Upgrade_Notes.md 下载英文原文与本文做对照。
从 Easy-RSA 2.x 升级到 3 的用户需要注意一些从 v3 开始的重要的变化。通常,为了对 v3 版的理解更加全面,可以看 doc/ 目录下的文件。
2. 重要的改变 ( List of important changes )
- nsCertType 这个证书扩展将不再被默认地包含。
Netscape
属性已经被上游废弃,并且不在提倡使用这个属性。如果用户想要继续使用这个旧版属性,需要在 vars 文件中配置EASYRSA_NS_SUPPORT
变量。 - 默认的请求主体 ( request Subject ) ( 或者叫 DN, Distinguished Name) 只包含了
commonName
。这对于 VPN 和不希望包含 Country/State/City/Org/OU 字段的环境很合适。如果用户想要使用旧的行为,可以在 vars 文件中配置EASYRSA_DN
变量。 - v3 release 缺少 PKCS 11 ( smartcard / token ) 支持。缺少的特性将在未来的 point-release 中补齐。
-utf8
选项已经被添加到所有支持的命令中。utf8 字符集也向后兼容 ASCII 字符。- 默认的私钥加密算法已经从 3des 换成了 aes256。
值得注意的是,第一个点对于在部署时依赖了 --ns-cert-type
选项的 OpenVPN 非常重要。可以让 OpenVPN 使用首选的 --remote-cert-tls
选项,或启用旧版 NS 扩展。
3. 一些新的概念 ( Some new concepts )
比起 v2 系列来,Easy-RSA 3 有一些新的概念。
3.1. 请求->导入->签名的工作流 ( Request-Import-Sign workflow )
v3 现已支持从将要使用密钥对的目标系统上,导入在目标系统上生成的密钥对。这提高了安全性,因为不需要在主机间传输私钥文件。但仍然支持在单个 PKI 中生成所有内容的旧的工作流。
将 Easy-RSA 用作 CA 时,建议的工作流是: 导入请求 -> 签出证书 -> 返回 CA 证书和新签出的证书。不带 CA 的 Easy-RSA 也可以用来生成密钥对和请求。
3.2. DN 支持填入组织信息 ( "Org"-style DN flexibility )
在 "org" 模式下 ( 这个模式下,DN 使用 CommonName + 组织信息来识别证书颁发者 ) 使用 Easy-RSA 时,不再需要匹配某些字段的值。这提高了灵活性,在目标系统上生成请求更容易,因为请求者不需要事先知道 CA 的值。
在 v2 系列中,国家、州和组织值都必须匹配,否则无法签署请求。如果要使用旧的行为,可以更改 OpenSSL 配置以满足需要,或者只需在签出证书是时查看 DN 是否正确即可。